home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ahoy 1985 September
/
Ahoy_Magazine_85-09_1985_Double_L.d64
/
ahoy dock
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
12KB
|
337 lines
0 print"[147]"
1 dimsu$(500),ta$(500),an$(500),mn$(500),id$(500),cm$(500):p$=",":open15,8,15
2 goto100
10 print"[147]":printtab(12);"one moment reading":print:printtab(20-len(z$)/2);z$
15 open5,8,5,"0:"+z$+",s,r":input#15,ax,bx$,cx,dx$:ifax<>0thengosub9000:return
18 fori=1to500:c=i
20 input#5,su$(i),ta$(i),an$(i),mn$(i),id$(i),cm$(i)
30 ifsu$(i)="eof"thenclose5:c=c-1:return
40 next
50 print:print"40 characters maximum":fori=1to4000:next:print"[147]":return
60 print:print"80 character maximum":fori=1to4000:next:print"[147]":return
80 open5,8,5,"@0:"+z$+",s,w":fori=1toc
82 print#5,su$(i):print#5,ta$(i):print#5,an$(i):print#5,mn$(i):print#5,id$(i)
83 print#5,cm$(i):next:i=c+1
84 su$(i)="eof":ta$(i)="title":an$(i)="author":mn$(i)="mag":id$(i)="issue"
86 cm$(i)="comment":print#5,su$(i):print#5,ta$(i):print#5,an$(i):print#5,mn$(i)
87 print#5,id$(i):print#5,cm$(i)
88 close5:return
100 print"[147]":poke53280,6:poke53281,0:fori=1to40:print"[211][211]";:next:print"[211][211]";
110 print" [176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174][146] ";
120 print "[211][211]";:print"[211][211] [194][146]================================[194][146] [211][211]";
130 print"[211][211] [194][146]===== ***ahoy dock file*** [146]=====[194][146] [211][211]";
140 print"[211][211] [194][146]===== [146]=====[194][146] [211][211]";
150 print"[211][211] [194][146]===== add -/- record [146]=====[194][146] [211][211]";
160 print"[211][211] [194][146]===== search -/- record [146]=====[194][146] [211][211]";
170 print"[211][211] [194][146]===== delete -/- record [146]=====[194][146] [211][211]";
180 print"[211][211] [194][146]===== modify -/- record [146]=====[194][146] [211][211]";
190 print"[211][211] [194][146]===== sort -/- record [146]=====[194][146] [211][211]";
200 print"[211][211] [194][146]===== list -/- record [146]=====[194][146] [211][211]";
210 print"[211][211] [194][146]===== print -/- record [146]=====[194][146] [211][211]";
215 print"[211][211] [194][146]===== [146]=====[194][146] [211][211]";
220 print"[211][211] [194][146]================================[194][146] [211][211]";
230 print"[211][211] [171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179][146] [211][211]";
240 print"[211][211] [194][146]";:printchr$(159);:print" f1...add ";:printchr$(5);
250 print"======";:printchr$(159);:print" f2...search ";:printchr$(31);:
260 print"[194][146] [211][211]";:print"[211][211] [194][146]";:printchr$(159);:print" f3...delete ";
270 printchr$(5);:print"======";:printchr$(159);:print" f4...modify ";
280 printchr$(31);:print"[194][146] [211][211]";:print"[211][211] [194][146]";:printchr$(159);
290 print" f5...sort ";:printchr$(5);:print"======";:
300 printchr$(159);:print" f6...list ";:printchr$(31);:print"[194][146] [211][211]";
310 print"[211][211] [194][146]";:printchr$(159);:print" f7...print ";:printchr$(5);:
320 print"======";:printchr$(159);:print" f8...end ";:printchr$(31);:
330 print"[194][146] [211][211]";:print"[211][211] [173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189][146]";
340 print" [211][211]";:fori=1to40:print"[211]";:print"[211]";:next
350 getre$:ifre$=""then350
360 ifre$=chr$(140)then680
400 fori=133to140:ifre$=chr$(i)then520
410 next
420 print"[147]":poke53281,0:poke53280,0:print"":printtab(12);"invalid response"
430 print:printtab(7);"please press function key":re$="":fori=1to4000:next
440 goto100
450 data+++++++++++++++++++++++,+...selection menu....+,+ +
460 data + 1--business +,+ 2--disk operation +,+ 3--educational +
470 data + 4--fun and games +,+ 5--graphics +,+ 6--hardware +
480 data + 7--home use +,+ 8--languages-mlx +,+ 9--miscellaneous +
490 data + 10-musical +,+ 11-simulations +,+ 12-software +
500 data + 13-tutorial +,+ 14-utilities +,+ +
510 data+....please select....+,+++++++++++++++++++++++
520 print"[147]":print:poke53280,7:poke53281,1:print"[144]":fori=1to20:readm$
530 printtab(9);m$:next:restore:input"";se$:se=val(se$)
532 ifse$="/"then440
535 ifse<1orse>14then520
540 ifse$="1"thenz$="business"
550 ifse$="2"thenz$="disk operation"
560 ifse$="3"thenz$="educational"
570 ifse$="4"thenz$="fun & games"
580 ifse$="5"thenz$="graphics"
590 ifse$="6"thenz$="hardware"
600 ifse$="7"thenz$="home use"
610 ifse$="8"thenz$="languages-mlx"
620 ifse$="9"thenz$="miscellaneous"
630 ifse$="10"thenz$="musical"
640 ifse$="11"thenz$="simulations"
650 ifse$="12"thenz$="software"
660 ifse$="13"thenz$="tutorial"
670 ifse$="14"thenz$="utilities"
680 re=asc(re$):on(re-132)gosub1000,2000,3000,4000,5000,6000,7000,8000
690 z$="xx":de$="":de=.:k1=.:goto100
700 rem**********************************
710 rem* written by glenn lumpkins
720 rem* feb. 1985
730 rem**********************************
999 rem=====add routine=====
1000 print"[147]":gosub10:print"[147]":c=c+1
1010 ifk=1thenk=0:return
1020 printtab(8);": subject of article :[146]":print"";:inputsu$(c)
1025 ifsu$(c)="/"thenreturn
1030 iflen(su$(c))>79thengosub60:print: goto1020
1040 print"[144]":printtab(8);": title of article :[146]":print"";:inputta$(c)
1045 ifta$(c)="/"then1020
1050 iflen(ta$(c))>39thengosub50:print:goto1040
1060 print"[144]":printtab(8);": author's name :[146]":print"";:inputan$(c)
1065 ifan$(c)="/"then1040
1070 iflen(an$(c))>39then(NULL)susb50:print:goto1060
1080 print"[144]":printtab(8);":[160]name of magazine :[146]":print"";:inputmn$(c)
1085 ifmn$(c)="/"then1060
1090 iflen(mn$(c))>39thengosub50:print:goto1080
1100 print"[144]":printtab(8);":issue # / page / date :[146]":print"";:inputid$(c)
1105 ifid$(c)="/"then1080
1110 iflen(id$(c))>39then(NULL)susb50:print:goto1100
1120 print"[144]":printtab(8);": comments or notes :[146]":print"";:inputcm$(c)
1130 iflen(cm$(c))>79 thengosub60:print:goto1120
1135 ifcm$(c)="/"then1100
1140 print"[144]":printtab(5);"->press any key to continue<-"
1150 getde$:ifde$=""then1150
1160 print"[147]":printtab(20-len(z$)/2);z$:print
1170 printtab(5);"[c][146]ontinue or [w][146]rite to disk"
1180 getde$:ifde$=""then1180
1185 ifde$="/"thenreturn
1190 ifde$<>"c"andde$<>"w"then1180
1200 ifde$="c"thenprint"[147]":c=c+1:goto1020
1205 print:printtab(15);"writing to":print:printtab(20-len(z$)/2);z$
1210 gosub80:return
1999 rem====delete routine=======
2000 print"[147]":print:print:print
2005 print" delete [e][146]ntire file or [o][146]ne record"
2010 getde$:ifde$=""then2010
2015 ifde$="/"thenreturn
2020 ifde$<>"e"andde$<>"o"then2000
2030 ifde$="e"thengosub9200:return
2040 fl=1:gosub7000:fl=.:return
2999 rem=====sort part1======
3000 gosub10:print"[147]":fori=1to5:print:next:printtab(15);"sort by":print
3010 f1=1:gosub5010:ifde$="/"thenreturn
3020 ifde$="s"thenk1=1:gosub9300:goto3070
3030 ifde$="t"thenk1=2:gosub9300:goto3070
3040 ifde$="a"thenk1=3:gosub9300:goto3070
3050 ifde$="m"thenk1=4:gosub9300:goto3070
3060 ifde$="i"thenk1=5:gosub9300:goto3070
3070 k1=.:print"[147]":printtab(8);"one moment writing sorted":print
3080 printtab(20-len(z$)/2);z$
3090 gosub80:return
3999 rem=====print record/file=====
4000 print"[147]":printtab(8);"[e][146]ntire or [o][146]ne record"
4010 getde$:ifde$=""then4010
4020 ifde$="/"thenreturn
4030 ifde$<>"e"andde$<>"o"then4010
4040 ifde$="o"thenk2=1:gosub7000:ifk2=.thenreturn
4050 ifde$="e"thengosub10:goto4200
4060 open3,4:xx$="[212]=================[217]":print#3,z$;" record number";i:print#3
4070 print#3:print#3,xx$:print#3,tab(3);"s u b j e c t":print#3
4080 print#3,su$(i):print#3:print#3,xx$:print#3,tab(5);"t i t l e":print#3
4090 print#3,ta$(i):print#3:print#3,xx$:print#3,tab(4);"a u t h o r":print#3
4100 print#3,an$(i):print#3:print#3,xx$:print#3,tab(2);"m a g a z i n e"
4110 print#3:print#3,mn$(i):print#3:print#3,xx$:print#3,tab(5);"i s s u e"
4120 print#3:print#3,id$(i):print#3:print#3,xx$:print#3,tab(3);"c o m m e n t"
4130 print#3:print#3,cm$(i):close3:return
4199 rem=====print entire record=====
4200 print"[147]":printtab(14);"now printing":print:printtab(20-len(z$)/2);z$
4210 xx$="[212]=================[217]":open3,4:print:print"record number"
4230 print#3,z$;" file":print#3
4240 fori=1toc:printi:print#3:print#3,"==>record number";i;" <==":print#3
4250 print#3,xx$:print#3,tab(3);"s u b j e c t":print#3:print#3,su$(i):print#3
4260 print#3,xx$:print#3,tab(5);"t i t l e":print#3:print#3,ta$(i):print#3
4270 print#3,xx$:print#3,tab(4);"a u t h o r":print#3:print#3,an$(i):print#3
4280 print#3,xx$:print#3,tab(2);"m a g a z i n e":print#3:print#3,mn$(i)
4290 print#3:print#3,xx$:print#3,tab(5);"i s s u e":print#3:print#3,id$(i)
4300 print#3:print#3,xx$:print#3,tab(3);"c o m m e n t":print#3:print#3,cm$(i)
4310 print#3:next:close3:return
4999 rem=====search routine=====
5000 print"[147]":fori=1to5:print:next:printtab(15);"search by":print
5010 print:printtab(15);"[s][146]ubject":print:printtab(15);"[t][146]itle":print
5020 printtab(15);"[a][146]uthor":print:printtab(15);"[m][146]agazine":print
5030 printtab(15);"[i][146]ssue
5040 [161]de$:[139]de$[178]""[167]5040
5045 [139]de$[178]"/"[167][142]
5050 [139]de$[179][177]"s"[175]de$[179][177]"t"[175]de$[179][177]"a"[175]de$[179][177]"m"[175]de$[179][177]"i"[167]5000
5055 [139]f1[178]1[167]f1[178].:[142]
5060 [139]de$[178]"s"[167][153]"load":[129]i[178]1[164]4:[153]:[130]:[137]5090
5070 [139]de$[178]"t"[167][153]"load":[129]i[178]1[164]4:[153]:[130]:[137]5110
5075 [139]de$[178]"a"[167][153]"load":[129]i[178]1[164]4:[153]:[130]:[137]5130
5080 [139]de$[178]"m"[167][153]"load":[129]i[178]1[164]4:[153]:[130]:[137]5150
5085 [139]de$[178]"i"[167][153]"load":[129]i[178]1[164]4:[153]:[130]:[137]5170
5090 [153]"load":[153][163]13);"enter ";:[153]"";:[153]"[subject]":[153]"stop"
5100 [133]s$:[141]10:[137]5300
5110 [153]"load":[153][163]13);"enter ";:[153]"";:[153]"[title]":[153]"stop"
5120 [133]t$:[141]10:[137]5300
5130 [153]"load":[153][163]13);"enter ";:[153]"";:[153]"[author]":[153]"stop"
5140 [133]a$:[141]10:[137]5300
5150 [153]"load":[153][163]12);"enter ";:[153]"";:[153]"[magazine]":[153]"stop"
5160 [133]m$:[141]10:[137]5300
5170 [153]"load":[153][163]13);"enter ";:[153]"";:[153]"[issue]":[153]"stop"
5180 [133]i$:[141]10:[137]5300
5300 [153]"load":[153]" #";[163]10);"one moment searching":[153][163]20[171][195](z$)[173]2);z$
5310 [129]i[178]1[164]c
5320 [139]de$[178]"s"[175][200](s$,[195](s$))[178][200](su$(i),[195](s$))[167][153]i;su$(i):k[178]k[170]1
5330 [139]de$[178]"t"[175][200](t$,[195](t$))[178][200](ta$(i),[195](t$))[167][153]i;ta$(i):k[178]k[170]1
5340 [139]de$[178]"i"[175][200](i$,[195](i$))[178][200](id$(i),[195](i$))[167][153]i;id$(i):k[178]k[170]1
5350 [139]de$[178]"m"[175][200](m$,[195](m$))[178][200](mn$(i),[195](m$))[167][153]i;mn$(i):k[178]k[170]1
5360 [139]de$[178]"a"[175][200](a$,[195](a$))[178][200](an$(i),[195](a$))[167][153]i;an$(i):k[178]k[170]1
5370 [139]k[178]15[167]k[178]0:[153]:[153][163]4);"correct record found [y]wait or [n]wait":y[178]1
5380 [139]y[178]1[167][161]re$:[139]re$[178]""[167]5380
5385 [139]re$[178]"/"[167][142]
5390 [139]y[178]1[175]re$[179][177]"n"[175]re$[179][177]"y"[167]5380
5400 [139]re$[178]"n"[167][153]"load":y[178].:re$[178]"":[130]:[137]5440
5410 [139]re$[178]"y"[167]y[178].:[137]5500
5415 [139]c[178]i[175]k[178][177]1[167]k[178]15:[137]5370
5420 [130]:[153]
5430 [153][163]11);"record not found":[153]
5440 [153][163]10)"[a]waitbort or [r]waitetry
5450 getde$:ifde$=""then5450
5460 ifde$="/"orde$="a"thenreturn
5470 ifde$="r"thende$="":goto5000
5480 ifde$<>"a"andde$<>"r"then5450
5500 print:printtab(13);"select record":print"";:inputrn:ifrn>cthen5500
5510 print"[144]":print"[147]":i=rn:fa=1:goto7010
5999 rem====modify record======
6000 f4=1:gosub7000
6010 printtab(7);"[144]";"[1. subject of article ][146]":print"";su$(i):print
6020 printtab(7);"[144]";"[2. title of article ][146]":print"";ta$(i):print
6030 printtab(7);"[144]";"[3. author's name ][146]":print"";an$(i):print
6040 printtab(7);"[144]";"[4. name of magazine ][146]":print"";mn$(i):print
6050 printtab(7);"[144]";"[5. issue #/page/date ][146]":print"";id$(i):print
6060 printtab(7);"[144]";"[6. comment or note ][146]":print"";cm$(i):print
6070 printtab(7);"[144]";"[7. write to disk ][146]":print
6080 printtab(7);"===>change which line<=="
6090 getde$:ifde$=""then6090
6100 de=val(de$):ifde$="/"thenreturn
6110 ifde<1orde>7then6090
6120 ifde=7thengosub80:return
6130 ifde=1thenprint"[147]":printtab(5);": subject of article :[146]":print:print"";
6140 ifde=1thenprintsu$(i):print:print"enter new value":print:inputsu$(i)
6150 iflen(su$(i))>79thengosub60:print:goto6130
6155 ifsu$(i)="/"thenreturn
6160 ifde=2thenprint"[147]":printtab(5);": title of article :[146]":print:print"";
6170 ifde=2thenprintta$(i):print:print"enter new value":print:inputta$(i)
6180 iflen(ta$(i))>39thengosub50:print:goto6160
6185 ifta$(i)="/"thenreturn
6190 ifde=3thenprint"[147]":printtab(5);": author's name :[146]":print:print"";
6200 ifde=3thenprintan$(i):print:print"enter new value":print:inputan$(i)
6210 iflen(an$(i))>39thengosub50:print:goto6190
6215 ifan$(i)="/"thenreturn
6220 ifde=4thenprint"[147]":printtab(5);": name of magazizne :[146]":print:print"";
6230 ifde=4thenprintmn$(i):print:print"enter new value":print:inputmn$(i)
6240 iflen(mn$(i))>39thengosub50:print:goto6220
6245 ifmn$(i)="/"thenreturn
6250 ifde=5thenprint"[147]":printtab(5);": issue / page / date :[146]":print:print"";
6260 ifde=5thenprintid$(i):print:print"enter new value":print:inputid$(i)
6270 iflen(id$(i))>39thengosub50:print:goto6250
6275 ifid$(i)="/"thenreturn
6280 ifde=6thenprint"[147]":printtab(5);": comments or notes :":print:print"";
6290 ifde=6thenprintcm$(i):print:print"enter new value":print:inputcm$(i)
6300 iflen(cm$(i))>70thengosub60:print,goto6280
6305 ifcm$(i)="/"thenreturn
6310 print"[147]":goto6010
6999 rem====list + delete routine =======
7000 print"[147]":gosub10:print"[147]":fori=1toc:print:print
7010 printtab(9);"[:subject of article:][146]":print"";su$(i):print
7020 printtab(9);"[144][:title of article :][146]":print"";ta$(i):print
7030 printtab(9);"[144][:author's name :][146]":print"";an$(i):print
7040 printtab(9);"[144][:name of magazine :][146]":print"";mn$(i):print
7050 printtab(9);"[144][:issue #/page/date :][146]":print"";id$(i):print
7060 printtab(9);"[144][:comment or notes :][146]":print"";cm$(i):print
7065 iffa=1thenprint:print"[144]";tab(8);"press any key to continue"
7070 iffa=1thengetde$:ifde$=""then7070
7075 ifde$="/"thenreturn
7080 iffa=1thenfa=.:return
7090 iffl=1thenprint"[144]";tab(5);"delete this record [y][146] or [n][146]"
7100 iffl=1thengetde$:ifde$=""then7100
7110 iffl=1andde$="y"then7180
7120 iffl=1thenprint"[147]":nexti:return
7125 iff4=1thenprint"[144]";tab(5);"modify this record [y][146] or [n][146]":goto7140
7130 print"[144]";tab(7);"continue paging [y][146] or [n][146]"
7140 getde$:ifde$=""then7140
7145 ifde$="/"thenreturn
7150 ifde$<>"y"andde$<>"n"then7140
7155 iff4=1andde$="n"thenprint"[147]":next:return
7160 ifde$="n"thenreturn
7165 iff4=1andde$="y"thenf4=.:print"[147]":return
7170 print"[147]":next:k2=.:return
7180 su$(i)="delete":open5,8,5,"@0:"+z$+",s,w":print"[147]"
7190 printtab(4);"one moment deleting record #";i:fori=1toc
7200 ifsu$(i)="delete"thenc=c-1:next
7210 print#5,su$(i)p$ta$(i)p$an$(i)p$mn$(i)p$id$(i)p$cm$(i)
7220 next:i=c+1:su$(i)="eof":ta$(i)="title":an$(i)="author":mn$(i)="mag"
7230 id$(i)="issue":cm$(i)="comment"
7240 print#5,su$(i)p$ta$(i)p$an$(i)p$mn$(i)p$id$(i)p$cm$(i):close5:fl=.:return
7999 rem====end===
8000 print"[147]":forx=1to12:print:next:printtab(9);"it's been a pleasure"
8010 fori=1to15:poke53281,i+1:for x=1to200:nextx:nexti:poke53281,6
8020 print"[147]":print"":end
8999 rem====== initialize file======
9000 print"[147]":printtab(5);"this file '";z$;"' has not been initialized ":close5
9010 print"or you do not have the correct disk in the drive !"
9020 print:printtab(8);"[c][146]ontinue -/- [r][146]eturn"
9030 getde$:ifde$=""then9030
9035 ifde$="/"thenk=1:return
9040 ifde$="r"thenk=1:return
9050 ifde$<>"r"andde$<>"c"then9030
9060 open5,8,5,"0:"+z$+",s,w":print"[147]":printtab(14);"initializing"
9070 print:printtab(20-len(z$)/2);z$
9080 su$(1)="eof":ta$(1)="title":an$(1)="author":mn$(1)="mag":id$(1)="issue"
9090 cm$(1)="comment"
9100 print#5,su$(1)p$ta$(1)p$an$(1)p$mn$(1)p$id$(1)p$cm$(1):close5:return
9199 rem=====delete the entire file =====
9200 print"[147]":fori=1to10:print:next:printtab(11);"!! are you sure !!"
9210 print:printtab(15);"[y][146] or [n][146]"
9220 getde$:ifde$=""then9220
9225 ifde$="/"thenreturn
9230 ifde$<>"y"andde$<>"n"then9220
9240 ifde$="n"thenreturn
9250 print:printtab(10);"one moment deleting":print:printtab(20-len(z$)/2);z$
9260 open5,8,5,"@0:"+z$+",s,w":gosub9080:return
9299 rem=====sort part2=====
9300 print"[147]":printtab(9);"one moment now sorting":print
9310 printtab(20-len(z$)/2);z$
9320 onk1goto9350,9400,9450,9500,9550
9350 f=.:forj=1toc-1
9360 ifsu$(j)<=su$(j+1)then9380
9370 gosub10000
9380 next:iff=1then9350
9390 return
9400 f=.:forj=1toc-1
9410 ifta$(j)<=ta$(j+1)then9430
9420 gosub10000
9430 next:iff=1then9400
9440 return
9450 f=.:forj=1toc-1
9460 ifan$(j)<=an$(j+1)then9480
9470 gosub10000
9480 next:iff=1then9450
9490 return
9500 f=.:forj=1toc-1
9510 ifmn$(j)<=mn$(j+1)then9540
9520 (NULL)susb10000
9530 next:iff=1then9500
9540 return
9550 f=.:fori=1toc-1
9560 ifid$(j)<=id$(j+1)then9580
9570 gosub10000
9580 next:iff=1then9550
9590 return
10000 s1$=su$(j):t1$=ta$(j):a1$=an$(j):m1$=mn$(j):i1$=id$(j):c1$=cm$(j)
10010 su$(j)=su$(j+1):su$(j+1)=s1$:ta$(j)=ta$(j+1):ta$(j+1)=t1$:f=1
10020 an$(j)=an$(j+1):an$(j+1)=a1$:mn$(j)=mn$(j+1):mn$(j+1)=m1$
10030 id$(j)=id$(j+1):id$(j+1)=i1$:cm$(j)=cm$(j+1):cm$(j+1)=c1$:return